/* ###################################### */
/* ###     Util Engine, by Kalith    ### */
/* ###################################### */
/*             Utils header               */
/*                                        */
/*                                        */

/* This is the file you should include if you
*  want to use the Utils library.
*/

#ifndef Util_UTILS_H
#define Util_UTILS_H

#include "Stdhelper.h"

#include "Config.h"
#include "Types.h"
#include "Exception.h"
#include "Var.h"

#include "Maths.h"

#include "Log.h"

#include "UtilsManager.h"

#include "Color.h"
#include "Vectors.h"
#include "Axisalignedbox.h"
#include "Point.h"

#include "Event.h"
#include "EventReceiver.h"
#include "EventManager.h"

#include "Timers.h"
#include "Profiler.h"
#include "TimeManager.h"
#include "File.h"
#include "LuaManager.h"
#include "LuaFunction.h"

namespace Util
{
    class UtilsManager;

    class Color;
    class Vector;
    class AxisAlignedBox;

    class Event;
    class EventReceiver;
    class EventManager;

    class Directory;
    class File;

    class PeriodicTimer;
    class Timer;
    class TimeManager;

    namespace Lua
    {
        class State;
        class Function;
    }

    class LuaManager;
}

struct LuaState;

#endif
